package com.qnnu.studenttravelsystem.config;

import com.qnnu.studenttravelsystem.interceptor.JwtInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * Web 配置类 —— 相当于“给保安分配岗位”
 *
 * 原理：
 * - 告诉Spring：哪些路径需要保安检查
 * - /api/** 都要检查（业务接口）
 * - /api/auth/** 不用检查（登录接口）
 */
@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Autowired
    private JwtInterceptor jwtInterceptor; // 注入保安

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(jwtInterceptor)      // 安排这个保安上岗
                .addPathPatterns("/api/**")          // 负责所有 /api 开头的路径
                .excludePathPatterns("/api/auth/**"); // 除了登录相关路径
    }
}
